#ifndef _WX_STATBMP_H_BASE_
#define _WX_STATBMP_H_BASE_

#include "wx/defs.h"

#if wxUSE_STATBMP

#include "wx/control.h"
#include "wx/bitmap.h"
#include "wx/icon.h"

extern const wxChar wxStaticBitmapNameStr[];

// a control showing an icon or a bitmap
class wxStaticBitmapBase : public wxControl {
  public:
    wxStaticBitmapBase() { }
    virtual ~wxStaticBitmapBase();

    // our interface
    virtual void SetIcon( const wxIcon& icon ) = 0;
    virtual void SetBitmap( const wxBitmap& bitmap ) = 0;
    virtual wxBitmap GetBitmap() const = 0;
    virtual wxIcon GetIcon() const { /* = 0 -- should be pure virtual */
      // stub it out here for now as not all ports implement it (but they
      // should)
      return wxIcon();
    }

    // overriden base class virtuals
    virtual bool AcceptsFocus() const { return false; }
    virtual bool HasTransparentBackground() { return true; }

  protected:
    virtual wxSize DoGetBestSize() const;

    DECLARE_NO_COPY_CLASS( wxStaticBitmapBase )
};

#include "wx/gtk/statbmp.h"

#endif // wxUSE_STATBMP

#endif
// _WX_STATBMP_H_BASE_
